1. Technical Field
The present invention relates to computerized planning systems, and more specifically, to a computerized planning system and method that dynamically generates an invisible hierarchy during a planning session.
2. Related Art
Merchandise planning systems have become an important tool for successful business planning. Proper merchandise planning allows a business to purchase the right levels of merchandise, in the right assortments, for the right stores. When done correctly, stores have balanced inventories and customers find the products they want. When done incorrectly, stores are faced with clearance markdowns, unhappy customers, and unbalanced inventories. Accordingly, accurate merchandise planning can be the difference between profitability and unprofitability.
Specialized systems that handle planning data are now available to facilitate merchandise planning. Merchandise planning systems allow planners to create, monitor, evaluate and adjust merchandising plans. A typical system includes one or more clients in contact with a server engine, which in turn has access to an extensive database of planning data, referred to as a plan. Planning data is typically based on a retail cube that consists of product, location and time dimensions, and includes variables defined at each intersection that are calculated according to predefined rules. Dimensions are generally defined in a hierarchical fashion utilizing parent-child relationships. For example, in a product dimension, hierarchical planning levels may include a company level, a department level, and an SKU (stock keeping unit) level. Within each level, there exists one or more members. Thus, members in the department level are considered children of the company level member(s), and parents of the SKU level members. Such a system is described in U.S. Pat. No. 5,943,668, xe2x80x9cRelational Emulation Of A Multidimensional Database,xe2x80x9d issued on Aug. 24, 1999 to Malloy et al., and assigned to International Business Machines Corporation, which is hereby incorporated by reference.
Given the extensive amount of data in a typical plan, a planner will often be limited to downloading and working with only a portion or segment of the plan. For instance, if a planner is responsible for planning for a department within a company, the planner will download only the segment of the plan for that department. Thus, if the planner is responsible for planning for children""s clothing, the planner will generally not need to download data relating to men""s sportswear. A downloaded segment generally comprises data, rules for calculating variables, and one or more defined hierarchies within a dimension.
Once the data is downloaded, planning is done with a spreadsheet-like interface that allows a planner to display and analyze data. During planning sessions, planners can study and manipulate planning data to, for example, plan for business needs, create xe2x80x9cwhat-ifxe2x80x9d scenarios, and analyze performance. Accordingly, a planner can adjust data values for a given variable, e.g., projected sales for a particular SKU for a given month, and examine the consequences, e.g., an inventory shortage or surplus the following month.
One of the problems that may arise during a planning session, however, is that the rules used to calculate some of the downloaded data may depend upon, or reference, data that was not downloaded. For instance, a planner may want to examine the percentage of inventory his or her department will account for relative to the entire company based on projections the planner is making for the department. In order to calculate such results, data from a parent or ancestor member, i.e., the entire company, would be required. Because such data would not typically be part of the planner""s downloaded data, such references would be deemed invalid and the planner would not be able to obtain the desired information. Accordingly, planners are essentially limited to planning with only values that exist within their loaded segment.
The present invention addresses the above-mentioned problems by providing a planning system and method for dynamically generating an invisible hierarchy during a planning session. The invisible hierarchy includes data that exists outside of a plan segment that may be referenced by rules within the plan segment. The planning system may comprise a program product having computer readable code stored on a recordable media for creating an invisible hierarchy within a planning system, the program product comprising: (1) a loading mechanism for loading a plan segment, wherein the plan segment is a portion of a plan cube and comprises data, rules, and a defined hierarchy within a dimension; (2) a checking mechanism for determining whether any of the rules associated with the plan segment reference data outside of the plan segment; and (3) a mechanism for creating an invisible hierarchy, wherein the invisible hierarchy comprises the defined hierarchy and at least one ancestor of a top member of the defined hierarchy.
In a second aspect, the invention may comprise a planning system implemented in a client-server environment, comprising: (1) a processor; (2) memory for storing machine readable instructions that are executable by the processor, and for storing data; (3) a server system, wherein the server system includes: (a) a loading mechanism for loading a plan segment, wherein the plan segment is a portion of a plan cube and comprises data, rules, and a defined hierarchy within a dimension; (b) a checking mechanism for determining whether any of the rules associated with the plan segment reference data outside of the plan segment; and (c) a mechanism for creating an invisible hierarchy, wherein the invisible hierarchy comprises the defined hierarchy and at least one ancestor of a top member of the defined hierarchy; and (4) a client system, wherein the client system includes: (a) an interface system for displaying and manipulating data associated with the plan segment; and (b) a mechanism for displaying data associated with the invisible hierarchy.
In a third aspect of the invention, a method is provided for dynamically creating an invisible hierarchy in a planning tool during a planning session, comprising the steps of: (1) loading a segment of a planning cube, wherein the segment comprises data, rules, and a predefined hierarchy; (2) examining the rules to determine if data from outside the segment is referenced by the rules; (3) identifying ancestor members of a top member of the predefined hierarchy; (4) loading ancestor member details and ancestor data for the identified ancestor members; and (5) creating an invisible hierarchy comprised of the predefined hierarchy and the identified ancestor members.